2. O que é o Ginga?
Ginga é o middleware de especificação aberta
adotado pelo Sistema Brasileiro de TV Digital
Terrestre (SBTVD) e que será instalado em
conversores (set-top boxes) e em televisores.
Middleware é uma camada de software posicionada
entre o código das aplicações e a infra-estrutura de
execução (plataforma de hardware e sistema
operacional).
3. Para tornar os aplicativos
independentes da plataforma de
hardware e software de um
fabricante de receptor específico, e
para dar um melhor suporte às
aplicações voltadas para a TV, uma
nova camada é acrescentada nos
padrões de referência de um
sistema de TV digital. Essa camada
é o middleware.
O middleware possui duas
funções principais: uma é tornar as
aplicações independentes do
sistema operacional da plataforma
de hardware utilizados. A outra é
oferecer um melhor suporte ao
desenvolvimento de aplicações.
4.
5. O Ginga será o responsável por dar suporte à interatividade.
Exemplo de tela Ginga
6. O Ginga é fruto do desenvolvimento de projetos de
pesquisa coordenados pelos laboratórios Telemídia
da PUC Rio e LAVID da UFPB.
Leva em consideração a necessidade de inclusão
social/digital e a obrigação do compartilhamento de
conhecimento de forma livre.
Mas por que o nome Ginga?
7. Ginga é uma qualidade, quase indefinível,de
movimento e atitude que nós brasileiros possuímos e
que é evidente em tudo o que fazemos. A forma
como caminhamos, falamos, dançamos e nos
relacionamos com tudo em nossas vidas.
O nome Ginga foi escolhido em reconhecimento à
cultura, arte e contínua luta por liberdade e igualdade
do povo brasileiro.
8. Ginga é uma tecnologia que leva ao cidadão todos os meios
para que ele obtenha acesso à informação, educação à
distância e serviços sociais apenas usando sua TV, o meio de
comunicação onipresente do país.
Ginga leva em consideração a importância da televisão,
presente na totalidade dos lares brasileiros, como um meio
complementar para inclusão social/digital. Ginga: suporte para
o que é chamado de "aplicações de inclusão", tais como T-
Government, T-health e T-Learning.
Ginga é uma especificação aberta, de fácil aprendizagem e livre
de royalties, permitindo que todos os brasileiros produzam
conteúdo interativo, o que dará novo impulso às TVs
comunitárias e à produção de conteúdo pelas grandes
emissoras.
9. Middleware Proprietários
OpenTV Core (OpenTV)
MediaHighway (Canal+)
Microsoft TV (Microsoft)
Liberate, PowerTV, NDS Core (NDS), Liberty
Middleware Abertos
MHEG e DAVIC
ARIB B.23 e ARIB B.24 (ISDB)
MHP (DVB)
GEM e ITU-T J.200
Ginga (SBTVD)
10. O universo das aplicações para TV
digital pode ser dividido em dois
conjuntos:
– o das aplicações declarativas;
– o das aplicações procedurais.
O sistema é subdividido em três subsistemas principais
interligados (Ginga-CC, Ginga-NCL e Ginga-J), que
permitem o desenvolvimento de aplicações seguindo dois
paradigmas de programação diferentes. Dependendo das
funcionalidades requeridas no projeto de cada aplicação, um
paradigma será mais adequado do que o outro.
11. Um conteúdo declarativo é baseado
(especificado) em uma linguagem
declarativa;
Enfatiza a descrição declarativa do
problema, ao invés da sua
decomposição em uma implementação
algorítmica;
Linguagens declarativas são linguagens
de mais alto nível de abstração,
usualmente ligadas a um domínio ou
objetivo específico;
12. Em uma linguagem declarativa, o
programador fornece apenas o conjunto
das tarefas a serem realizadas;
Não se preocupa com os detalhes de
como o executor da linguagem
(interpretador, compilador ou a própria
máquina real ou virtual de execução)
realmente implementará essas tarefas;
Linguagens declarativas resultam em
uma declaração do resultado desejado
13. Entre as linguagens declarativas mais
comuns estão:
– NCL (Nested Context Language);
– SMIL;
– e XHTML.
14. Linguagens procedurais especificam os
passos que um programa precisa seguir
para alcançar o resultado desejado;
Sequência de passos computacionais
chamados procedimentos (rotinas,
subrotinas, métodos ou funções) que
precisam ser executados;
Qualquer procedimento pode ser
chamado em qualquer ponto durante a
execução do programa, inclusive por
outros procedimentos;
15. Entretanto, para isso, o desenvolvedor
deve ser bem qualificado e conhecer
bem os recursos de implementação da
linguagem;
A linguagem mais usual encontrada nos
ambientes procedurais de um sistema de
TV digital é Java.
16.
17. O que é Java?
É uma tecnologia que contempla:
– Linguagem de Programação;
• Uma linguagem de programação orientada
a objetos;
– Plataforma de Programação;
• Uma coleção de APIs (classes, componentes,
frameworks) e ambiente de
desenvolvimento para aplicações multiplataforma;
• Um ambiente de execução presente em
browsers, mainframes, SOs, celulares,
palmtops, cartões inteligentes,
eletrodomésticos, etc.
18. – Familiar (sintaxe parecida com C)
– Simples e robusta (minimiza bugs, aumenta
produtividade)
– Suporte nativo a threads (+ simples, maior
portabilidade)
– Dinâmica (módulos, acoplamento em tempo de
execução)
– Com coleta de lixo (menos bugs, mais produtividade)
– Independente de plataforma
– Segura (vários mecanismos para controlar
segurança)
– Código intermediário de máquina virtual interpretado
(compilação rápida - + produtividade no
desenvolvimento)
– Sintaxe uniforme, rigorosa quanto a tipos (código
mais
19. Ginga-NCL
O Ginga-NCL foi desenvolvido pela PUC-Rio com o objetivo de prover uma
infra-estrutura de apresentação para aplicações declarativas escritas na
linguagem NCL (Nested Context Language), que é uma aplicação XML com
facilidades para a especificação de aspectos de interatividade, sincronismo
espaço-temporal entre objetos de mídia, adaptabilidade, suporte a múltiplos
dispositivos e suporte à produção ao vivo de programas interativos não lineares.
Ginga-J
O Ginga-J foi desenvolvido pela UFPB para prover uma infra-estrutura de
execução de aplicações baseadas na linguagem Java, com facilidades
especificamente voltadas para o ambiente de TV digital.
Ginga-CC
O Ginga-CC (Ginga Common-Core) oferece o suporte básico para os
ambientes declarativos (Ginga-NCL) e procedural (Ginga-J), de maneira que
suas principais funções sejam para tratar da exibição de vários objetos de
mídia, como JPEG, MPEG-4, MP3, GIF, entre outros formatos.
20. Interatividade
A promessa da TV digital é não só ter imagens de TV
maiores e mais bem definidas, mas a interatividade
que permitirá aplicativos de t-educação, t-saúde, t-
governo, t-comércio, home banking e muito mais.
Assim, a TV digital poderia tornar-se uma poderosa
ferramenta de inclusão digital e social.
21. Um sistema de TV digital terrestre pode operar sem
canal de retorno. Nesse caso, as aplicações podem
usar apenas dados transmitidos por difusão.
Mas para se ter interatividade precisa-se de um
canal de retorno.
22. Padrões de referência de um sistema de TV digital
podem incluir, contudo, o uso de um canal de
retorno. O canal de retorno pode ser unidirecional,
permitindo ao receptor apenas o envio de dados.
Ex: permitir ao usuário telespectador o envio de
dados, por exemplo, solicitando a compra de um
determinado produto, votando em um determinado
assunto, etc...
23. O canal de retorno pode ser também bidirecional
assimétrico, possibilitando ao receptor fazer o
carregamento (download) de dados utilizados pelos
aplicativos. Nesse caso, um aplicativo pode receber
dados por difusão ou pela rede de retorno.
Permite ao usuário telespectador o acesso a dados
não provenientes das emissoras. Por exemplo, a
navegação na Web.
24. Um canal de retorno bidirecional pode também
permitir o envio de dados em banda larga (upload).
Nesse caso o receptor pode passar a atuar como
uma pequena emissora.
Esse nível de interatividade, chamada de plena,
possibilita o que vem sendo chamado de TV social
ou TV em comunidade, que se caracteriza por um
grupo de usuários telespectadores de um mesmo
programa poderem trocar dados entre si.
O SBTVD permite em suas normas todos os níveis
de interatividade
25. Diretrizes para o design de programas de TV digital interativa
(Simone Diniz Junqueira Barbosa, Luiz Fernando Gomes Soares,
Departamento de informática - Puc RIO).
26. Diretrizes para o design de programas de TV digital interativa
(Simone Diniz Junqueira Barbosa, Luiz Fernando Gomes Soares,
Departamento de informática - Puc RIO).